from odoo import http
import logging

# logger = logging.getLogger(__name__)
# logging.basicConfig(filename='d:\Odoo12\server\odoo\addons\library_app\example.log', filemode='w', level=logging.DEBUG)


class Books(http.Controller):
    """
    导入的odoo.http模块，是提供网页相关功能的核心组件

    http.Controller是需要继承的类控制器

    @http.route装饰器才是重要的部分，它声明了与类方法关联的 URL 地址，此处为/books

    默认访问 URL 地址要求客户登录，推荐明确指出访问的授权模式，所以这里添加了auth=’user’参数。要允许公开访问，可为@http.route 添加auth=’public’ 参数

    使用http.request.env获取环境，使用它可从目录中获取有效图书记录集

    最后一步是使用http.request.render() 来处理 library_app.index_template Qweb 模板并生成输出 HTML。可通过字典向模板传值，这里传递了图书记录集

    """
    @http.route('/library/books', auth='user')
    def list(self, **kwargs):
        Book = http.request.env['library.book']
        logging.info("Book>>>> %s", Book)
        books = Book.search([])
        logging.info("books>>>> %s", books)
        return http.request.render('library_app.book_list_template', {'books': books})
